#ifndef SERVERDIALOG_H
#define SERVERDIALOG_H

#include <QDialog>
#include <QTcpServer>
#include <QTcpSocket>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class ServerDialog; }
QT_END_NAMESPACE

class ServerDialog : public QDialog
{
    Q_OBJECT

public:
    ServerDialog(QWidget *parent = nullptr);
    ~ServerDialog();

private slots:
    //创建服务器的槽函数
    void on_CreateButton_clicked();
    //当客户端和服务器连接时执行的槽函数
    void on_Newconnection (void);
    //当客户端发送消息给服务器时执行的槽函数
    void on_ReadyRead (void);

private:
    void sendMessage (const QByteArray& msg);

private:
    Ui::ServerDialog *ui;
    QTcpServer tcpServer; //服务器
    quint16    port; //服务器的端口号
    //保存和客户端通信的套接字 （容器 类似与一个指针数组, 数组中的元素是QList链表维护的）
    QList <QTcpSocket*> tcpClientList;
};
#endif // SERVERDIALOG_H







